package de.upb.messerschmidt.set.oauth;

import java.util.List;

/**
 * This Class is needed for the Mendeley Document API. It's used as Object to
 * access all the document's data
 * 
 * @author Tim Messerschmidt
 * 
 */
public class Document {
	private List<String> authors;
	private List<String> cast;
	private String city;
	private String department;
	private Editor editors;
	private String institution;
	private List<String> keywords;
	private String pages;
	private List<String> producers;
	private String title;
	private Translator translators;
	private String userType;
	private String year;
	private String id;
	private String type;
	private List<Identifier> identifiers;
	private String mendeley_url;
	private List<String> files;
	private String discipline;
	private String subdiscipline;
	
	/**
	 * @param authors
	 * @param cast
	 * @param city
	 * @param department
	 * @param editors
	 * @param institution
	 * @param keywords
	 * @param pages
	 * @param producers
	 * @param title
	 * @param translators
	 * @param userType
	 * @param year
	 * @param id
	 * @param type
	 * @param identifiers
	 * @param mendeley_url
	 * @param files
	 * @param discipline
	 * @param subdiscipline
	 */
	public Document(List<String> authors, List<String> cast, String city,
			String department, Editor editors, String institution,
			List<String> keywords, String pages, List<String> producers,
			String title, Translator translators, String userType,
			String year, String id, String type, List<Identifier> identifiers,
			String mendeley_url, List<String> files, String discipline,
			String subdiscipline) {
		this.authors = authors;
		this.cast = cast;
		this.city = city;
		this.department = department;
		this.editors = editors;
		this.institution = institution;
		this.keywords = keywords;
		this.pages = pages;
		this.producers = producers;
		this.title = title;
		this.translators = translators;
		this.userType = userType;
		this.year = year;
		this.id = id;
		this.type = type;
		this.identifiers = identifiers;
		this.mendeley_url = mendeley_url;
		this.files = files;
		this.discipline = discipline;
		this.subdiscipline = subdiscipline;
	}
	
	public Document() {
		
	}

	/**
	 * @return the authors
	 */
	public List<String> getAuthors() {
		return authors;
	}

	/**
	 * @param authors the authors to set
	 */
	public void setAuthors(List<String> authors) {
		this.authors = authors;
	}

	/**
	 * @return the cast
	 */
	public List<String> getCast() {
		return cast;
	}

	/**
	 * @param cast the cast to set
	 */
	public void setCast(List<String> cast) {
		this.cast = cast;
	}

	/**
	 * @return the city
	 */
	public String getCity() {
		return city;
	}

	/**
	 * @param city the city to set
	 */
	public void setCity(String city) {
		this.city = city;
	}

	/**
	 * @return the department
	 */
	public String getDepartment() {
		return department;
	}

	/**
	 * @param department the department to set
	 */
	public void setDepartment(String department) {
		this.department = department;
	}

	/**
	 * @return the editors
	 */
	public Editor getEditors() {
		return editors;
	}

	/**
	 * @param editors the editors to set
	 */
	public void setEditors(Editor editors) {
		this.editors = editors;
	}

	/**
	 * @return the institution
	 */
	public String getInstitution() {
		return institution;
	}

	/**
	 * @param institution the institution to set
	 */
	public void setInstitution(String institution) {
		this.institution = institution;
	}

	/**
	 * @return the keywords
	 */
	public List<String> getKeywords() {
		return keywords;
	}

	/**
	 * @param keywords the keywords to set
	 */
	public void setKeywords(List<String> keywords) {
		this.keywords = keywords;
	}

	/**
	 * @return the pages
	 */
	public String getPages() {
		return pages;
	}

	/**
	 * @param pages the pages to set
	 */
	public void setPages(String pages) {
		this.pages = pages;
	}

	/**
	 * @return the producers
	 */
	public List<String> getProducers() {
		return producers;
	}

	/**
	 * @param producers the producers to set
	 */
	public void setProducers(List<String> producers) {
		this.producers = producers;
	}

	/**
	 * @return the title
	 */
	public String getTitle() {
		return title;
	}

	/**
	 * @param title the title to set
	 */
	public void setTitle(String title) {
		this.title = title;
	}

	/**
	 * @return the translators
	 */
	public Translator getTranslators() {
		return translators;
	}

	/**
	 * @param translators the translators to set
	 */
	public void setTranslators(Translator translators) {
		this.translators = translators;
	}

	/**
	 * @return the userType
	 */
	public String getUserType() {
		return userType;
	}

	/**
	 * @param userType the userType to set
	 */
	public void setUserType(String userType) {
		this.userType = userType;
	}

	/**
	 * @return the year
	 */
	public String getYear() {
		return year;
	}

	/**
	 * @param year the year to set
	 */
	public void setYear(String year) {
		this.year = year;
	}

	/**
	 * @return the id
	 */
	public String getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * @return the type
	 */
	public String getType() {
		return type;
	}

	/**
	 * @param type the type to set
	 */
	public void setType(String type) {
		this.type = type;
	}

	/**
	 * @return the identifiers
	 */
	public List<Identifier> getIdentifiers() {
		return identifiers;
	}

	/**
	 * @param identifiers the identifiers to set
	 */
	public void setIdentifiers(List<Identifier> identifiers) {
		this.identifiers = identifiers;
	}

	/**
	 * @return the mendeley_url
	 */
	public String getMendeley_url() {
		return mendeley_url;
	}

	/**
	 * @param mendeley_url the mendeley_url to set
	 */
	public void setMendeley_url(String mendeley_url) {
		this.mendeley_url = mendeley_url;
	}

	/**
	 * @return the files
	 */
	public List<String> getFiles() {
		return files;
	}

	/**
	 * @param files the files to set
	 */
	public void setFiles(List<String> files) {
		this.files = files;
	}

	/**
	 * @return the discipline
	 */
	public String getDiscipline() {
		return discipline;
	}

	/**
	 * @param discipline the discipline to set
	 */
	public void setDiscipline(String discipline) {
		this.discipline = discipline;
	}

	/**
	 * @return the subdiscipline
	 */
	public String getSubdiscipline() {
		return subdiscipline;
	}

	/**
	 * @param subdiscipline the subdiscipline to set
	 */
	public void setSubdiscipline(String subdiscipline) {
		this.subdiscipline = subdiscipline;
	}
}
